/**
 * 角色详情对话框（可用于添加和修改对话框）
 */
var ConfigDetail = {
    configData: {},
    ztreeInstance: null,
    validateFields: {
        configName: {
            validators: {
                notEmpty: {
                    message: '配置名称不能为空'
                }
            }
        },
        configViewSize: {
            validators: {
                notEmpty: {
                    message: '元素条目不能为空'
                },
                greaterThan: {
                    value: 1
                },
                lessThan: {
                    value: 100
                }
            }
        },
        sort: {
            validators: {
                notEmpty: {
                    message: '排序不能为空'
                },
                greaterThan: {
                    value: 1
                },
                lessThan: {
                    value: 20
                }
            }
        },
        configType: {
            validators: {
                notEmpty: {
                    message: '请选择配置类型'
                }
            }
        },
        configStyle: {
            validators: {
                notEmpty: {
                    message: '请选择配置样式'
                }
            }
        },
        childName: {
            validators: {
                notEmpty: {
                    message: '元素名称不能为空'
                }
            }
        },
        childAction: {
            validators: {
                notEmpty: {
                    message: '请选择执行动作'
                }
            }
        }
    }
};


/**
 * 清除数据
 */
ConfigDetail.clearData = function () {
    this.configData = {};
};

/**
 * 设置对话框中的数据
 *
 * @param key 数据的名称
 * @param val 数据的具体值
 */
ConfigDetail.set = function (key, val) {
    this.configData[key] = (typeof value == "undefined") ? $("#" + key).val() : value;
    return this;
};


/**
 * 收集数据
 */
ConfigDetail.collectData = function () {
    this.set('configCode').set('configName').set('configViewSize').set('configType').set('remark').set('configStyle');
    var arr = new Array();
    $('#configDetailForm').find("input[name='childName']").each(function()
    {
    	var obj={name:$(this).val()};
    	obj["code"]=$(this).parent().parent().parent().parent().find("input[name='codes']").eq(0).val();
    	
    	obj["url"]=$(this).parent().parent().parent().parent().find("select[name='childUrl']").eq(0).val();
    	obj["sort"]=$(this).parent().parent().parent().parent().find("input[name='sort']").eq(0).val();
    	obj["action"]=$(this).parent().parent().parent().parent().find("select[name='childAction'] option:selected").val();
    	obj["img"]=$(this).parent().parent().parent().parent().prev().find("img[class='file-preview-image kv-preview-data']").attr("src");
    	var  suffix=$(this).parent().parent().parent().parent().prev().find(".file-caption-name").val();
    	if(suffix.length>0)
    	{
    		suffix=suffix.substring(suffix.indexOf("."),suffix.length);
    	}
    	obj["suffix"]=suffix;
    	arr.push(obj);
    });
    this.configData["configChilds"]=arr;
}
/**
 * 设置对话框中的数据
 *
 * @param key 数据的名称
 * @param val 数据的具体值
 */
ConfigDetail.get = function (key) {
    return $("#" + key).val();
};

/**
 * 关闭此对话框
 */
ConfigDetail.close = function () {
    parent.layer.close(window.parent.Config.layerIndex);
};



/**
 * 验证数据是否为空
 */
ConfigDetail.validate = function () {
    $('#configDetailForm').data("bootstrapValidator").resetForm();
    $('#configDetailForm').bootstrapValidator('validate');
    return $("#configDetailForm").data('bootstrapValidator').isValid();
};

/**
 * 提交添加用户
 */
ConfigDetail.addSubmit = function () {

    this.clearData();
    this.collectData();
    if (!this.validate()) {
        return;
    }

    //提交信息
    var ajax = new $ax(Feng.ctxPath + "/config/addConfig", function (data) {
        Feng.success("添加成功!");
        window.parent.Config.table.refresh();
        ConfigDetail.close();
    }, function (data) {
        Feng.error("添加失败!" + data.responseJSON.message + "!");
    });
    ajax.setData(JSON.stringify(this.configData));
    ajax.setContentType("application/json");
    ajax.start();
};

/**
 * 提交修改
 */
ConfigDetail.editSubmit = function () {

    this.clearData();
    this.collectData();
    if (!this.validate()) {
        return;
    }
    //提交信息
    var ajax = new $ax(Feng.ctxPath + "/config/updateConfig", function (data) {
        Feng.success("修改成功!");
        window.parent.Config.table.refresh();
        ConfigDetail.close();
    }, function (data) {
        Feng.error("修改失败!" + data.responseJSON.message + "!");
    });
    ajax.setData(JSON.stringify(this.configData));
    ajax.setContentType("application/json");
    ajax.start();
};
$(function()
{
	 $('[data-toggle="tooltip"]').tooltip();
	  Feng.initValidator("configDetailForm", ConfigDetail.validateFields);
	  $("#configDetailForm").data('bootstrapValidator').addField('configChilds[].name', {
		   
			validators: {
				notEmpty: {
					message: '元素名称不能为空'
				}
			}
		});

	  $("#addChild_btn").click(function(){
		  $("#configDetal_panel").append('<div class="col-sm-12">'
				+'<button type="button" class="btn btn-default pull-right" style="margin-right:3px;margin-top:3px;margin-bottom:3px" data-original-title="点击删除元素" data-toggle="tooltip" data-placement="left">'
				+'<span class="glyphicon glyphicon-trash"></span>'
				+'</button>'
				+'<div class="panel panel-default">'
				+'<div class="panel-heading">元素详细设置</div>'
				+'<div class="panel-body">'
				+'<div class="row">'
				+'<div class="col-sm-6 col-md-6 b-r">'
				+'<input  name="files[]" type="file" class="file" data-show-remove="false" data-show-close="false" data-show-cancel="false" data-show-upload="false" data-show-caption="true" data-msg-placeholder="请选择" accept="image/*">'
                +'</div>'
                +'<div class="col-sm-5">'
                +'<div class="row">' 
                +'<div class="form-group">'
				+'<label class="col-sm-4 control-label">元素名称</label>'
				+'<div class="col-sm-8"><input class="form-control"  name="childName" type="text"></div>'
				+'</div>'
				+'</div>'
                +'<div class="hr-line-dashed"></div>'
                +'<div class="row">'
                +'<div class="form-group">'
				+'<label class="col-sm-4 control-label">跳转URL</label>'
				+'<div class="col-sm-8">'+$("select[name='childUrl']").eq(0).prop("outerHTML")+'</div>'
				+'</div>'
                +'</div>'
                +'<div class="hr-line-dashed"></div>' 
                +'<div class="row">' 
                +'<div class="form-group">'
				+'<label class="col-sm-4 control-label">排序</label>' 
				+'<div class="col-sm-8"><input class="form-control"  name="sort" type="text"></div>'
				+'</div>' 
                +'</div>' 
                +'<div class="hr-line-dashed"></div>'
                +'<div class="row">'
                +'<div class="form-group">'
				+'<label class="col-sm-4 control-label">执行动作</label>'
				+'<div class="col-sm-8"><select class="form-control"  name="childAction"><option value="">请选择</option><option value="1">外网跳转</option><option value="2">内网跳转</option><option value="3">弹出框</option></select></div>'
				+'</div>'
                +'</div>'
				+'</div>'
				+'</div>'
				+'</div>'
				+'</div>'
				+'</div>'
				+'</div>');
		  $(".file").fileinput({'previewFileType':'image','showRemove':'false','showCancel':'false',
			  allowedFileExtensions:['jpg','png','jpeg','bmp','tif','gif','psd','ICO'],language : 'zh'
			  });
			 $('[data-toggle="tooltip"]').tooltip();
		  $("#configDetailForm").data('bootstrapValidator').addField('childName', {
			   
				validators: {
					notEmpty: {
						message: '元素名称不能为空'
					}
				}
			});
		  $("#configDetailForm").data('bootstrapValidator').addField('childAction', {
			   
				validators: {
					notEmpty: {
						message: '请选择执行动作'
					}
				}
			});
		  $("#configDetailForm").data('bootstrapValidator').addField('sort', {
			   
				validators: {
					notEmpty: {
						message: '排序不能为空'
					},
					 greaterThan: {
		                    value: 1
		                },
		                lessThan: {
		                    value: 20
		            }
				}
			});

	  });

	  $("#configDetal_panel").on("click", "button",function()
	  {
		       $(this).parent().remove();
	  });

});
